Information processing apparatus and method for controlling the same

ABSTRACT

In order to enable more of the contents managed by a content server to be provided, an information processing apparatus connected to a communication network includes: a managing unit that manages a content and attribute information; a detecting unit that detects an external processing apparatus connected to the communication network; an acquiring unit that acquires capability information, which indicates a capability that can be provided by the external processing apparatus; a generating unit that generates content list information containing a first list containing a content that is managed by the managing unit and that can be directly provided by the information processing apparatus, and a second list containing a content that can be provided by giving a processing request to the external processing apparatus; and a providing unit that provides the content list information to a client terminal.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technique for converting a contentinto a format that can be processed by a client apparatus anddistributing the converted content.

2. Description of the Related Art

Recently, as communication networks become more widely used, it hasbecome possible for household appliances, computers, and otherperipherals to connect to networks at home, and to communicatemulti-media data with each other. As a protocol for communicationbetween these home communication apparatuses, communication standards,such as UPnP (Universal Plug and Play), DLNA (Digital Living NetworkAlliance), and the like, are formulated. A user downloads data from anapparatus that stores a content, such as a server or a digital recorder,onto an apparatus that performs playback of a content, such as a TV or aspeaker. Through download, the user can watch or listen to multi-mediacontents, such as photos, images, audios, videos, and the like.

However, such contents are in formats having various configurations evenif the types of the contents are the same. A playback apparatus thatdoes not have playback functions corresponding to all of the formats maynot be able to perform playback of the contents.

Accordingly, ordinarily used is a technique whereby an apparatus thatprovides a content can convert a content such that a playback apparatuscan perform playback thereof, in consideration of the content playbackcapability of the playback apparatus. For example, Japanese PatentLaid-Open No. 2007-317021 and Japanese Patent No. 3823929 disclosetechniques for converting a content using an external processingapparatus that can convert a content, even in the case where a contentserver cannot convert the content.

However, according to the technique disclosed in Japanese PatentLaid-Open No. 2007-317021, a content server and a conversion server thatoperates in conjunction therewith have to manage capability informationof the other server. Furthermore, there may be cases where a content ina format in which a client can perform playback cannot be provided tothe client. Furthermore, according to the technique disclosed inJapanese Patent No. 3823929, a content server has to be provided inadvance with information on the playback capability of a client, and theclient has to have a function of providing the information on theplayback capability to the server.

SUMMARY OF THE INVENTION

The present invention provides a technique for enabling more of thecontents managed by a content server to be provided, without adding aspecial function to a client that performs playback of a content.

According to one aspect of the present invention, an informationprocessing apparatus connected to a communication network, comprises: amanaging unit that manages a content and attribute information of thecontent; a detecting unit that detects an external processing apparatusconnected to the communication network; an acquiring unit that acquirescapability information, which indicates a capability that can beprovided by the external processing apparatus detected by the detectingunit; a generating unit that generates content list informationcontaining a first list containing a content that is managed by themanaging unit and that can be directly provided by the informationprocessing apparatus, and a second list containing a content that ismanaged by the managing unit and that can be provided by giving aprocessing request to the external processing apparatus; and a providingunit that provides the content list information to a client apparatusconnected to the communication network.

According to another aspect of the present invention, a method forcontrolling an information processing apparatus connected to acommunication network, comprises: a managing step of managing a contentstored in a storage unit and attribute information of the content; adetecting step of detecting an external processing apparatus connectedto the communication network; an acquiring step of acquiring capabilityinformation, which indicates a capability that can be provided by theexternal processing apparatus detected in the detecting step; agenerating step of generating content list information containing afirst list containing a content that is managed in the managing step andthat can be directly provided by the information processing apparatus,and a second list containing a content that is managed in the managingstep and that can be provided by giving a processing request to theexternal processing apparatus; and a providing step of providing thecontent list information to a client apparatus connected to thecommunication network.

According to the present invention, it is possible to provide atechnique for enabling more of the contents managed by a content serverto be provided to a client.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a diagram showing the overall configuration of a contentdistribution system according to a first embodiment.

FIG. 2 is a flowchart showing a typical operation performed whenwatching or listening to a content in a UPnP/DLNA environment.

FIG. 3 is a sequence diagram showing an example in which a request toconvert the format of a content is given to a camera 40.

FIG. 4 is a sequence diagram showing an example in which a request todistribute a content is given to the camera 40, and the content isprovided to a TV 20.

FIG. 5 is a flowchart in which a content providing server 10 searchesfor an external processing apparatus on a communication network 60.

FIG. 6 is a flowchart in which the content providing server 10 detectsan external processing apparatus connected to the communication network60.

FIG. 7 is a flowchart in which the content providing server 10 extractscontent-providing capability of a detected external processingapparatus.

FIG. 8 is a flowchart in the case where the content-providing capabilityof the detected external processing apparatus has changed.

FIG. 9 is a flowchart in which updated content list information isprovided to the playback apparatus.

FIG. 10 is a diagram showing an example of a message given in the casewhere an acquisition request for a content list is given from the TV 20to the content providing server 10.

FIG. 11 is a diagram showing an example of a content list message in thecase where no external processing apparatus is present on thecommunication network 60.

FIG. 12 is a diagram showing an example of a content list message in thecase where a camera 40 that can provide a content-converting function isfound.

FIG. 13 is a diagram showing an example of a content list message in thecase where a content distribution server 50 that can provide acontent-distributing function is found.

FIG. 14 is a diagram showing the internal configuration of the contentproviding server 10.

FIG. 15 is a sequence diagram showing acquisition of content-providingcapability by the content providing server 10 from the camera 40.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the drawings. However, it shouldbe noted that the following embodiments are to be taken as examplesonly; the scope of the present invention is not intended to be limitedby the individual embodiments described hereinafter.

First Embodiment

Hereinafter, a first embodiment of an information processing apparatusaccording to the present invention will be described using, as anexample, a content providing server in a content distribution system.

SUMMARY

A content providing server 10 acquires capability information, whichindicates a capability that can be provided by a camera 40 and a contentdistribution server 50 connected to a communication network 60, fromthese apparatuses. Based on the acquired capability information, contentlist information, which indicates contents that can be provided, isgenerated and provided to a TV 20 and a PC 30, which are playbackapparatuses (client apparatuses). The TV 20 and the PC 30 select acontent that a client wants, based on the provided content listinformation, and transmit an acquisition request for the selectedcontent to the content providing server 10.

System Configuration

FIG. 1 is a diagram showing the overall configuration of a contentdistribution system according to the first embodiment. In the contentdistribution system, the content providing server 10 that unifiesmanagement of contents, and the TV 20 and the PC 30, which are clientapparatuses that perform playback of contents, are connected to eachother via the communication network 60. Furthermore, the communicationnetwork 60 is connected to the camera 40 that has a content conversionprocessing capability and the content distribution server 50 that has acontent distribution processing capability.

The content providing server 10 receives a request from various clientapparatuses, and provides a content. Here, it is assumed that thecontent providing server 10 can distribute a content using HTTP(HyperText Transfer Protocol). Furthermore, the content providing server10 manages contents (such as photos, images, audios, videos, and thelike), and stores information corresponding to each content (informationindicating a location, an attribute, a transfer method, a file name, andthe like), as metadata (attribute information). Examples of theattribute of a content include data format, size, and the like. Examplesof data information include various types of information, such as filename, date, and the like. Here, a content may be stored in a storageunit inside the content providing server 10, or may be stored in anexternal storage apparatus (not shown) connected to the communicationnetwork 60.

The TV 20 is a client apparatus that functions so as to perform playbackand to display a content. Furthermore, the PC 30 is a client apparatuson which content playback software has been installed and that canperform playback of various contents.

The camera 40 is an apparatus that generates a still image or a movingimage. Furthermore, the camera functions so as to perform a conversionprocessing on a content, such as a processing that converts the formatof a content (e.g., converts a Raw image into a JPEG image), aprocessing that converts the image size of a content, a processing thatconverts the resolution, and the like. Moreover, the camera isconfigured so as to be able to provide the conversion function to eachapparatus connected to the communication network 60. Here, a Raw imagerefers to data in a format specific to the camera 40.

The content distribution server 50 is a server that is configured so asto use a more preferable transfer protocol according to the type of acontent. Examples of the transfer protocol include HTTP, FTP (FileTransfer Protocol) suitable for highly reliable transfer, RTSP-RTP(Realtime Streaming Protocol-Realtime Transport Protocol) suitable forreal-time transfer, and unique data transfer protocols. Furthermore, aclient apparatus can specify the size of a content, the speed oftransfer, and the like.

The communication network 60 transfers data between apparatusesconnected to the communication network. For example, Ethernet(registered trademark), a wireless LAN, and the like can be used.

Here, it is assumed that each apparatus described above can advertiseand detect apparatuses or services, and can provide and control servicesusing UPnP and DLNA frameworks. More specifically, it is assumed thatthe following protocols used in UPnP and DLNA are provided.

-   -   SSDP (Simple Service Discovery Protocol) used to detect        apparatuses or services    -   SOAP (Simple Object Access Protocol) used to exchange XML data    -   GENA (General Event Notification Architecture) used to give        various types of notification between apparatuses

Here, a configuration is also possible in which other frameworks andother protocols having similar functions are used.

Apparatus Configuration

FIG. 14 is a diagram showing the internal configuration of the contentproviding server 10.

A communication function 501 is a module that communicates a message viathe communication network 60. A node-searching and monitoring function502 functions so as to search the communication network 60 using SSDPM-Search, via the communication function 501. Furthermore, this functionis a module that functions so as to await an Advertise from the camera40 via the communication function 501, and to monitor the alive statusof the found camera 40 or the like.

A content-providing capability-acquiring function 503 is a module thatacquires the information on a capability to provide a content, from anexternal processing apparatus, such as the found camera 40 or the like,via the communication function 501. A content-providingcapability-extracting and managing function 504 functions so as to storeinformation acquired by the content-providing capability-acquiringfunction 503. Furthermore, this function is a module that functions soas to compare the content-providing capability of the content providingserver 10 and the content-providing capability in already storedinformation, and to store the difference therebetween.

A content list request-transmitting and receiving function 505 functionsso as to receive a content list acquisition request from the TV 20 orthe like, via the communication function 501. Furthermore, this functionis a module that functions so as to send back a content list generatedby a content list-generating function 506 (described later) andcontaining metadata, according to the content list acquisition request.

The content list-generating function 506 is a module that functions soas to generate a content list of contents managed by a content-managingfunction 507. More specifically, this function generates a content listcontaining metadata based on the content-providing capability stored bythe content-providing capability-extracting and managing function 504.The content-managing function 507 is a module that functions so as tostore a content itself, or to manage the location of a content.

A content acquisition request-transmitting and receiving function 508functions so as to receive a content acquisition request from the TV 20or the like via the communication function 501. Furthermore, thisfunction is a module that performs a processing that provides a managedcontent according to the content acquisition request. A statusnotification-providing function 509 functions so as to receive a contentupdate notification request from the TV 20 or the like via thecommunication function 501, and to store the received information on theTV 20. Furthermore, this function is a module that functions so as totransmit an update notification to the TV 20 from which the contentupdate notification request has been received, in the case where thecontent is updated, or where the content-providing capability isupdated.

System Operation

FIG. 2 is a flowchart showing a typical operation performed whenwatching or listening to a content in a UPnP/DLNA environment.

In step F101, a user operates the TV 20, for example, by remote control,and selects a content providing server 10 managing a content that theuser wants to watch. Here, information on content providing servers 10is distributed in advance to the TV 20 via an SSDP Advertise messagedistributed by multicast from the content providing servers 10.Alternately, the TV 20 finds the content providing server 10 byreceiving a response from the content providing server 10 to an SSDPM-Search message transmitted by the TV 20.

In step F102, the TV 20 transmits a SOAP Browse_Action message to thecontent providing server 10, and acquires content list informationstored in the content providing server 10. It is assumed that thecontent list information contains, as metadata, information indicating alocation, an attribute, a transfer method, and other information,corresponding to each content.

In step F103, the TV 20 displays a list of contents that the TV 20 canperform playback thereof, based on the acquired content listinformation. Then, in step F104, selection of a content that the userwants to watch from among the contents in the displayed list is receivedfrom the user.

In step F105, the TV 20 gives the content providing server 10 anacquisition request for the content specified in the informationreceived in step F104. Then, in step F106, the TV 20 acquires thecontent transmitted from the content providing server 10, and performsplayback of the content.

According to the above-described procedure, the user can watch thecontents managed by the content providing server 10, via the TV 20.

Usage of External Processing Apparatus Providing Content-ConvertingFunction

In the case where a content that the user wants to watch is only in aformat in which the TV 20 cannot perform playback of that content, theuser cannot watch the content. Hereinafter, an example will be describedin which a request to convert the format of a content is given to thecamera 40, and the converted content is provided from the contentproviding server 10 to the TV 20.

FIG. 3 is a sequence diagram showing an example in which a request toconvert the format of a content is given to the camera 40, and thecontent is provided to the TV 20. Here, it is assumed that the contentproviding server 10 stores a Raw image content. Furthermore, it isassumed that the TV 20 can perform playback of only JPEG images.Furthermore, it is assumed that the camera 40 can provide a capabilityto convert a Raw image into a JPEG image to another apparatus.

In step S101, the content providing server 10 receives an SSDP Advertisemessage from the camera 40. Alternatively, the content providing servercan find the camera 40 on the communication network 60, by receiving aresponse to an SSDP M-Search message. Moreover, the content providingserver acquires a device description that describes the deviceconfiguration of the camera 40 and a service description that describesthe service type of the camera 40, from the camera 40. Accordingly, thecontent providing server 10 can obtain information on the deviceconfiguration and the service type of the camera 40, and SOAP Actionprovided by the camera 40.

In step S102, the content providing server 10 inquires about thecontent-providing capability to the found camera 40. In this example,the case will be described in which the camera 40 supports UPnPConnectionManager:1 service. More specifically, a GetProtocolInfomessage is transmitted to the camera 40 according to SOAP. Examples ofthe content-providing capability include the attributes of contents thatcan be provided (formats, for example), methods for transferringcontents (transfer protocols, for example), and the like.

In step S103, the content providing server 10 receives a response fromthe camera 40, and, thus, obtains information on the content-providingcapability supported by the camera 40.

In step S104, the content providing server 10 receives a SOAPBrowse_Request message from the TV 20. Then, in step S105, the contentproviding server 10 generates metadata of contents, based on contentsthat can be directly provided by the content providing server with itscontent-providing capability, and the content-providing capability ofthe camera 40 acquired in step S103. Furthermore, a content listcontaining the metadata is generated. Here, a content list containing aRaw image list (first list) and a JPEG image list (second list) isgenerated.

In step S106, the content providing server 10 provides the TV 20 withthe content list containing the Raw image list and the JPEG image list.Here, in the case where the camera 40 has left the communication network60, the content providing server 10 provides the TV 20 with a contentlist in which metadata contains Raw images. The content list of JPEGimages is deleted.

In step S107, the TV 20 displays a list of contents in formats in whichthe TV can perform playback, based on the received content list. Forexample, the TV displays only a list of contents in JPEG format, withoutdisplaying contents in Raw format. Here, in the case where a contentlist in which metadata contains only Raw images is received, noinformation is displayed on the content list of the TV 20.

In step S108, selection of a content from among the contents in thedisplayed list is received from the user. Then, in step S109, the TV 20transmits an acquisition request for the selected content, to thecontent providing server 10, according to the specification of atransfer protocol contained in the metadata. Here, an HTTP GET messageis transmitted.

In step S110, the content providing server 10 that has received theacquisition request for the content determines the contents of thisrequest. Furthermore, it is determined based on the capabilityinformation acquired from the TV 20 whether or not the TV 20 can displaythe requested content. In the case where the requested content is a Rawimage, the TV 20 cannot display the Raw image. Thus, the Raw imagecorresponding to the requested content is transmitted to the camera 40,and a request to convert the content is given. Then, in step S111, thecamera 40 converts the content from the received Raw image into a JPEGimage, and transmits the JPEG image to the content providing server 10.

In step S112, the content providing server 10 transmits the convertedcontent (JPEG image) to the TV 20. Then, in step S113, the TV 20displays the content received from the content providing server 10.Here, in the case where the content requested in step S109 is a JPEGimage, the content providing server 10 transmits the requested JPEGimage content to the TV 20.

In this manner, the content providing server 10 can provide a contentthat the user wants, in a format in which the TV 20 can perform playbackof that content.

In the description above, an example is given in which the camera 40converts the format of a content, but the camera may convert the size orthe resolution of a content (image).

Usage of External Processing Apparatus Providing Content-DistributingFunction

In the case where a content that the user wants to watch is providedonly in a transfer protocol that cannot be used by the TV 20, the usercannot watch the content. Hereinafter, a configuration will be describedin which a content is provided to the TV 20 by giving a request totransfer (distribute) the content to the camera 40.

FIG. 4 is a sequence diagram showing an example in which a request todistribute a content is given to the camera 40, and the content isprovided to the TV 20. Here, it is assumed that the content providingserver 10 stores a JPEG image content. Furthermore, it is assumed thatthe TV 20 can acquire a content according to FTP and perform playback ofonly JPEG images. Moreover, it is assumed that the camera 40 functionsso as to provide a content according to FTP.

Steps S201 to S204 are similar to steps S101 to S104 described above.

In step S205, the content providing server 10 generates metadata ofcontents, based on its own content-providing capability, and thecontent-providing capability of the camera 40 acquired in step S203.Furthermore, a content list containing the metadata is generated. Here,a content list in which metadata contains transfer condition indicatingHTTP transfer and/or FTP transfer is generated.

In step S206, the content providing server 10 provides the TV 20 with acontent list in which metadata contains HTTP transfer and/or FTPtransfer. Here, in the case where the camera 40 has left thecommunication network 60, the content providing server 10 provides theTV 20 with a content list in which metadata contains HTTP transfer.

In step S207, the TV 20 displays a list of contents according totransfer protocols that can be used by the TV, based on the receivedcontent list. For example, the TV displays only a list of contentsaccording to FTP transfer, without displaying contents according to HTTPtransfer. Here, in the case where a content list in which metadatacontains only HTTP transfer is received, no information is displayed onthe content list of the TV 20.

In step S208, selection of a content from among the contents in thedisplayed list is received from the user. Then, in step S209, the TV 20transmits an acquisition request for the selected content to the camera40 according to a transfer protocol contained in the metadata (FTP, inthis example).

In step S210, the camera 40 that has received the acquisition requestfor the content transmits the acquisition request for the requestedcontent to the content providing server 10. Then, in step S211, thecamera 40 receives data of the content (JPEG image) from the contentproviding server 10. Subsequently, in step S212, the camera 40 transmitsthe content to the TV 20. Lastly, in step S213, the TV 20 displays thereceived content.

In this manner, the content providing server 10 can provide a contentthat the user wants, according to a transfer protocol with which the TV20 can perform playback of that content, by giving a transfer request tothe camera 40.

Detection of External Processing Apparatus on Communication Network

Hereinafter, a processing in which the content providing server 10detects the camera 40 and the content distribution server 50 connectedto the communication network 60, and a processing performed at the timeof detection will be described.

FIG. 5 is a flowchart in which the content providing server 10 searchesfor an external processing apparatus on the communication network 60.

In step F201, the content providing server 10 transmits an SSDP M-Searchmessage by multicast. Then, for a given period of time, the contentproviding server awaits a response to the M-Search message from anexternal processing apparatus (the camera 40, for example) connected tothe communication network 60 (F202).

In the case where a response is received from a new apparatus within thegiven period of time, a content-providing capability extractionprocessing (described later) is performed (F203). On the other hand, inthe case where the given period of time has elapsed, the contentproviding server 10 generates a content list containing metadata, basedon content attributes and transfer methods that can be provided with theproviding capability of the content providing server 10 and theproviding capability of the newly detected external processing apparatus(F204).

FIG. 6 is a flowchart in which the content providing server 10 detectsan external processing apparatus connected to the communication network60, based on an Advertise from the external processing apparatus.

In step F301, the content providing server 10 awaits an SSDP Advertisemessage from an external processing apparatus.

In step F302, upon receiving the Advertise message, the contentproviding server 10 confirms the contents of the message. Morespecifically, the content providing server determines whether themessage is an “Alive” message indicating that the apparatus iscontinuously connected to the communication network 60, or a “BYEBYE”message indicating that the apparatus is leaving the communicationnetwork 60.

In the case of a BYEBYE message, the content-providing capabilityinformation of that external processing apparatus is deleted (F306).Conversely, in the case of an Alive message, it is determined whetherthe message indicates that an apparatus is newly connected or that thealive time has been updated (F303). In a case other than where the alivetime is updated, a content-providing capability extraction processing ofan external processing apparatus (described later) is performed.

In step F305, the content providing server 10 generates a content listcontaining metadata, based on content attributes and transfer methodsthat can be provided with the providing capability of the contentproviding server 10 and the external processing apparatus detected onthe communication network 60.

Content-Providing Capability Extraction Processing Performed by theContent Providing Server 10

FIG. 7 is a flowchart in which the content providing server 10 extractscontent-providing capability of a detected external processingapparatus.

In step F401, upon detecting an external processing apparatus, thecontent providing server 10 acquires a device description and a servicedescription disclosed by the external processing apparatus.

In step F402, referring to the acquired descriptions, the contentproviding server 10 checks whether or not the external processingapparatus has a content-providing service.

In step F403, in the case where the external processing apparatus has acontent-providing service, information on the content-providingcapability is acquired, and the acquired information on the capabilityand the external processing apparatus is stored. As an acquiring method,GetProtocolInfo Action provided by ConnectionManagerService may be used.With GetProtocolInfo, information on protocols (e.g., HTTP, FTP, and thelike) that can be used and content formats that can be provided (e.g.,Image/JPEG, BMP, and the like) is obtained. Furthermore, servicesprovided by AVTransferService and RenderingControlService can beacquired from the descriptions.

In step F404, the content providing server 10 compares thecontent-providing capability of the external processing apparatus andthe content-providing capability of the content providing server 10, andconfirms whether or not there is a difference therebetween. Moreover, inthe case where there are two or more external processing apparatuses,the confirmation is performed for each apparatus.

In step F405, in the case where there is a difference, the contentproviding server 10 stores that item as difference information.

FIG. 8 is a flowchart in the case where the content-providing capabilityof the detected external processing apparatus has changed.

The content providing server 10 regularly or irregularly acquires adevice description and a service description from the externalprocessing apparatus. Then, for example, in the case where it isdetermined that the external processing apparatus has left thecommunication network 60, the content-providing capability informationis updated (F501 and F502).

FIG. 9 is a flowchart in which updated content list information isprovided to the playback apparatus.

In step F601, the content providing server 10 detects a change in thecontent-providing capability information. In the case where there is achange, it is checked whether or not there is a content playbackapparatus that is to be notified of the update (F602). In the case wherethere is a content playback apparatus that is to be notified of theupdate, update notification of the content-providing capabilityinformation is performed (F603). More specifically, the apparatus thatis to be notified of the update is registered, as a result of a GENASUBSCRIBE_Request message being received from the TV 20 or the like. Inthe case where update of the content-providing capability information isdetected, a GENA NOTIFY message is transmitted to the registeredapparatus that is to be notified of the update.

Example of Message Relating to Acquisition Request for Content List

FIG. 10 is a diagram showing an example of a message given in the casewhere an acquisition request for a content list is given from the TV 20to the content providing server 10. Furthermore, FIG. 11 shows anexample of a content list message in the case where no externalprocessing apparatus is present on the communication network 60.

Content list information 200 contains a plurality of pieces of contentinformation 210. The content information 210 contains, for example, acontent title 211, and the like. In addition to this, the contentinformation may contain information, such as a name of creator(“Creator”), date of creation (“Date”), and the like. Moreover, thecontent information 210 contains a plurality of pieces of resourceinformation (res. information) 220 containing content attributes andtransfer methods that can be provided.

The res. information 220 contains information on a transfer unit 221,content type information (“Mime-Type”) 222, color depth information(“colorDepth”) 223, resolution information (“resolution”) 224, and filesize information (“size”) 225. Here, the res. information 220 mayfurther contain address information indicating a location at which acontent is stored, content duration information, protection information,sample rate information, and the like.

FIG. 12 is a diagram showing an example of a content list message in thecase where the camera 40 that can provide a content-converting functionis found. Here, an example is shown in which a converting function froma JPEG image into a BMP image is provided as the content-convertingfunction.

Structures 300, 310, and 320 contained in the message are the same asthe structures 200, 210, and 220 described in FIG. 11. In FIG. 11, acontent list containing only JPEG images is sent back. However, in thisexample, the content-converting function of the camera 40 can be used,and, thus, a content list containing JPEG images and BMP images is sentback. More specifically, metadata in which a message 320 contains notonly a JPEG image 321 but also a BMP 322 is added.

FIG. 13 is a diagram showing an example of a content list message in thecase where content distribution server 50 that can provide acontent-distributing function is found. Here, an example is shown inwhich a transfer function according to RTSP-RTP is provided as thecontent-distributing function.

Structures 400, 410, and 420 in the message are the same as thestructures 200, 210, and 220 described in FIG. 11. In FIG. 11, a list ofcontents transferred according to HTTP is sent back. However, in thisexample, the content-distributing function of the content distributionserver 50 can be used, and, thus, a content list containing not onlyHTTP data but also RTSP-RTP data is sent back. More specifically,metadata in which a message 420 contains RTSP-RTP is added.

In the case where a moving image is distributed, it is preferable to usea protocol that performs stream distribution, instead of a protocol thattransfers a content as a file, such as HTTP or FTP. In particular, withmoving image transfer that uses real-time transfer-oriented RTSP-RTP,the user can more comfortably watch or listen to a content.

Another Example of Acquisition of Content-Providing Capability fromExternal Processing Apparatus

FIG. 15 is a sequence diagram showing acquisition of content-providingcapability by the content providing server 10 from the camera 40.

In step S301, the content providing server 10 receives a SOAP ACTIONBrowse_Request message as a content list request from the TV 20. Then,in step S302, the content providing server 10 sends back a content listcontaining metadata that can be provided by the content providing server10.

In step S303, the camera 40 establishes connection to the communicationnetwork 60, and transmits an Alive message to the communication network60 through an SSDP Advertise. Then, the content providing server 10acquires a description of the camera 40, and acquires information onservices provided by the camera 40.

In step S304, in the case where the camera 40 provides aContentDirectory service, contents managed by the content providingserver 10 are uploaded into the camera 40. After the upload, the contentproviding server 10 transmits a SOAP ACTION Browse_Request message tothe camera 40, in order to acquire information on the uploaded contents(S305).

In step S306, the camera 40 that has received the Browse_Request messagesends back a content list containing metadata that can be provided bythe camera 40. That is to say, the content providing server 10 performsdownload.

In step S307, the content providing server 10 that has received thecontent list compares the received metadata and metadata that can beprovided by the content providing server 10. Through this comparison,metadata that cannot be provided by the content providing server 10 butcan be provided by the camera 40 can be acquired. Then, the acquiredmetadata is stored.

In step S308, the content providing server 10 receives theBrowse_Request message from the TV 20. Then, in step S309, a contentlist containing not only metadata that can be provided by the contentproviding server 10 but also metadata that can be provided by the camera40 is sent back.

As described above, with the information processing apparatus accordingto the first embodiment, more of the contents managed by the contentproviding server 10 can be provided to a client (the TV 20).Furthermore, content list information can be dynamically generated andprovided, according to a status of an external processing apparatus thatis connected to a communication network when an acquisition request fora content list is received.

Other Embodiments

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment, and by a method, the steps of whichare performed by a computer of a system or apparatus by, for example,reading out and executing a program recorded on a memory device toperform the functions of the above-described embodiment. For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2009-063236, filed Mar. 16, 2009 which is hereby incorporated byreference herein in its entirety.

1. An information processing apparatus connected to a communicationnetwork, comprising: a managing unit that manages a content andattribute information of the content; a detecting unit that detects anexternal processing apparatus connected to the communication network; anacquiring unit that acquires capability information, which indicates acapability that can be provided by the external processing apparatusdetected by the detecting unit; a generating unit that generates contentlist information containing a first list containing a content that ismanaged by the managing unit and that can be directly provided by theinformation processing apparatus, and a second list containing a contentthat is managed by the managing unit and that can be provided by givinga processing request to the external processing apparatus; and aproviding unit that provides the content list information to a clientapparatus connected to the communication network.
 2. The informationprocessing apparatus according to claim 1, further comprising: areceiving unit that receives an acquisition request for a contentcontained in the content list information, from the client apparatus;and a content-providing unit that, in the case where the content onwhich the acquisition request has been received by the receiving unit isa content contained in the first list, provides the content to theclient apparatus, and that, in the case where the content on which theacquisition request has been received by the receiving unit is a contentcontained in the second list, provides the content to the clientapparatus by giving a request to process the content to the externalprocessing apparatus.
 3. The information processing apparatus accordingto claim 1, wherein the capability information includes information onat least one of a content conversion processing capability and a contentdistribution processing capability.
 4. The information processingapparatus according to claim 3, wherein the acquiring unit acquiresinformation on the conversion processing capability by uploading acontent into the external processing apparatus, and downloading acontent corresponding to the uploaded content from the externalprocessing apparatus.
 5. The information processing apparatus accordingto claim 3, wherein the conversion processing capability includes atleast one of capabilities relating to a content format conversionprocessing, a size conversion processing, and a resolution conversionprocessing.
 6. The information processing apparatus according to claim3, wherein the distribution processing capability includes a capabilityof a protocol that can be used to distribute a content.
 7. Theinformation processing apparatus according to claim 1, wherein thedetecting unit detects that the external processing apparatus has leftthe communication network, and, in the case where it is detected thatthe external processing apparatus has left, the generating unit deletesthe second list from the content list information.
 8. A method forcontrolling an information processing apparatus connected to acommunication network, comprising: a managing step of managing a contentstored in a storage unit and attribute information of the content; adetecting step of detecting an external processing apparatus connectedto the communication network; an acquiring step of acquiring capabilityinformation, which indicates a capability that can be provided by theexternal processing apparatus detected in the detecting step; agenerating step of generating content list information containing afirst list containing a content that is managed in the managing step andthat can be directly provided by the information processing apparatus,and a second list containing a content that is managed in the managingstep and that can be provided by giving a processing request to theexternal processing apparatus; and a providing step of providing thecontent list information to a client apparatus connected to thecommunication network.
 9. A computer-readable storage medium storing acomputer program for causing a computer to function as the units of theinformation processing apparatus according to claim 1.